﻿using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Reflection;

namespace EmbeddedLanguage.Attributes
{
    //public interface IStaticExpressionCompiler { }

    //public class StaticExpressionCompiler_1x1<TInput1, TOut> : Dictionary<Expression<Func<TInput1, TOut>>, Func<TInput1, TOut>>, IStaticExpressionCompiler
    //{
    //}

    //public interface IBindToObject
    //{
    //    void Bind(Object obj);
    //}

    //public interface IBind
    //{
    //    void Bind();
    //}

    //public interface IMemberBindingsMapping<TObject>
    //{
    //    void Bind(TObject Obj);
    //}

    //public class MemberBindingsMapping_0x1<TObject, TOut> : Dictionary<GetSet<TObject, Func<TOut>> , Func<TObject, TOut>>,
    //    IMemberBindingsMapping<TObject>
    //{
    //    public void Bind(TObject Obj)
    //    {
    //        foreach (var kvp in this)
    //        {
    //            var gs = kvp.Key;
    //            gs.Set(Obj, () => kvp.Value(Obj));
                
    //        }
    //    }


    //}
}
